News All Tests
Current file: /home/estudydev/workspace/MSP09/web/news/tests/class.Settings.inc.php
Legend: executed not executed dead code

  Coverage
  Classes Methods Lines
Total
100.00 %100.00%
100.00% 1 / 1
0.00 %0.00%
0.00% 0 / 47
1.23 %1.23%
1.23% 5 / 408
 
Settings
100.00 %100.00%
100.00% 1 / 1
0.00 %0.00%
0.00% 0 / 47
0.25 %0.25%
0.25% 1 / 404
 public function Settings($courseid)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 22
 public function addError($errorString)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function resetErrors()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 3
 public function getDBSettings()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 6
 public function setName($name)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 17
 public function setShortname($shortname)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 17
 public function setModulShortCut($modulShortCut)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 17
 public function setStyle($style)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 16
 public function setKeywords($keywords)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 17
 public function setFAQURL($faq)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 17
 public function setSemester($semester)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 11
 public function setOpendate($opendate)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 10
 public function setClosedate($closedate)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 10
 public function setRegpass($regpass)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 22
 public function setMaxStudents($count)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 16
 public function setUseWaitinglist($use)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 17
 public function setInfo($info)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 12
 public function setModulbeschreibung_ID($modulID)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 10
 public function getID()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getName()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getShortname()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getModulShortCut()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getKeywords()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getSemester()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getOpendate()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getClosedate()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getRegpass()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getUseWaitinglist()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getMaxStudents()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getInfo()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getClosed()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getStyle()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getFAQ()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getCourseType()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getModulbeschreibung_ID()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function registrationIsActive()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 3
 public function hasRegistrationStarted($now)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function validateName($name)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 35
 public function validateShortname($shortname)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 35
 public function validateKeywords($keywords)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function formatName($name)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function validateRegistrationPassword($pass)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 3
 public function validateInfo($info)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 46
 public function formatInfo($info)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 4
 public function validateMaxStudents($maxStudents)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 5
 public function validateStyle($style)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 7
 public function echoSettingsDialog()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2


       1                 : <?php                                                                                                                                                                                                                                    
       2                 : /*--------------------------------------------------------------------------+                                                                                                                                                            
       3                 : This file is part of eStudy.                                                                                                                                                                                                             
       4                 : courses/classes/class.Settings.inc.php                                                                                                                                                                                                   
       5                 : - Modulgruppe:  Veranstaltung                                                                                                                                                                                                            
       6                 : - Beschreibung: Veranstaltungseinstellungen.                                                                                                                                                                                             
       7                 : - Version:      0.2.2, 03/01/07                                                                                                                                                                                                          
       8                 : - Autor(en):    Timo Fuchs        <timo.fuchs@mni.fh-giessen.de>                                                                                                                                                                         
       9                 : Rolf Viehmann    <rolfhub@web.de>                                                                                                                                                                                                        
      10                 : Markus Keim        <markus.keim@mni.fh-giessen.de>                                                                                                                                                                                       
      11                 : +---------------------------------------------------------------------------+                                                                                                                                                            
      12                 : This program is free software; you can redistribute it and/or                                                                                                                                                                            
      13                 : modify it under the terms of the GNU General Public License                                                                                                                                                                              
      14                 : as published by the Free Software Foundation; either version 2                                                                                                                                                                           
      15                 : of the License, or any later version.                                                                                                                                                                                                    
      16                 : +---------------------------------------------------------------------------+                                                                                                                                                            
      17                 : This program is distributed in the hope that it will be useful,                                                                                                                                                                          
      18                 : but WITHOUT ANY WARRANTY; without even the implied warranty of                                                                                                                                                                           
      19                 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                                                                                                                                                            
      20                 : GNU General Public License for more details.                                                                                                                                                                                             
      21                 : You should have received a copy of the GNU General Public License                                                                                                                                                                        
      22                 : along with this program; if not, write to the Free Software                                                                                                                                                                              
      23                 : Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                                                                                                                                                              
      24                 : +--------------------------------------------------------------------------*/                                                                                                                                                            
      25                 : /**                                                                                                                                                                                                                                      
      26                 :  * In dieser Datei wird die Klasse Settings implementiert.                                                                                                                                                                               
      27                 :  * @package eStudy.Courses                                                                                                                                                                                                               
      28                 :  * @version 0.2.2, 03/01/07                                                                                                                                                                                                              
      29                 :  * @author  Timo Fuchs        <timo.fuchs@mni.fh-giessen.de>                                                                                                                                                                             
      30                 :  * @author  Rolf Viehmann    <rolfhub@web.de>                                                                                                                                                                                            
      31                 :  * @author  Markus Keim     <markus.keim@mni.fh-giessen.de>                                                                                                                                                                              
      32                 :  */                                                                                                                                                                                                                                      
      33                 : /** Hilfefunktionen*/                                                                                                                                                                                                                    
      34               1 : require_once ("class.Course.inc.php");                                                                                                                                                                                                   
      35                 : /** Dialog fuer Einstellungen*/                                                                                                                                                                                                          
      36               1 : require_once ("class.SettingsDialog.inc.php");                                                                                                                                                                                           
      37                 : /** Passwort-Klasse (diverse Prüfungen etc.)*/                                                                                                                                                                                          
      38               1 : require_once ("class.passwords.inc.php");                                                                                                                                                                                                
      39                 : /* Funktionalitäten für kursspezifischen Style */                                                                                                                                                                                      
      40               1 : require_once ("class.style.inc.php");                                                                                                                                                                                                    
      41                 : /**                                                                                                                                                                                                                                      
      42                 :  * Veranstaltungseinstellungen.                                                                                                                                                                                                          
      43                 :  *                                                                                                                                                                                                                                       
      44                 :  * @package eStudy.Courses                                                                                                                                                                                                               
      45                 :  * @author  Timo Fuchs <timo.fuchs@mni.fh-giessen.de>                                                                                                                                                                                    
      46                 :  * @version 0.1, 15/02/04                                                                                                                                                                                                                
      47                 :  */                                                                                                                                                                                                                                      
      48               1 : class Settings {                                                                                                                                                                                                                         
      49                 :     /**                                                                                                                                                                                                                                  
      50                 :      * ID der Veranstaltung.                                                                                                                                                                                                             
      51                 :      *                                                                                                                                                                                                                                   
      52                 :      * @access private                                                                                                                                                                                                                   
      53                 :      * @var    integer                                                                                                                                                                                                                   
      54                 :      */                                                                                                                                                                                                                                  
      55                 :     var $id;                                                                                                                                                                                                                             
      56                 :     /**                                                                                                                                                                                                                                  
      57                 :      * Name der Veranstaltung.                                                                                                                                                                                                           
      58                 :      *                                                                                                                                                                                                                                   
      59                 :      * @access private                                                                                                                                                                                                                   
      60                 :      * @var    string                                                                                                                                                                                                                    
      61                 :      */                                                                                                                                                                                                                                  
      62                 :     var $name;                                                                                                                                                                                                                           
      63                 :     /**                                                                                                                                                                                                                                  
      64                 :      * Kurzname der Veranstaltung.                                                                                                                                                                                                       
      65                 :      *                                                                                                                                                                                                                                   
      66                 :      * @access private                                                                                                                                                                                                                   
      67                 :      * @var    string                                                                                                                                                                                                                    
      68                 :      */                                                                                                                                                                                                                                  
      69                 :     var $shortname;                                                                                                                                                                                                                      
      70                 :     // Modulkuerzel                                                                                                                                                                                                                      
      71                 :     var $modulShortCut;                                                                                                                                                                                                                  
      72                 :     /**                                                                                                                                                                                                                                  
      73                 :      * Semester, in dem die Veranstaltung stattfindet.                                                                                                                                                                                   
      74                 :      * (In der Form 03WS)                                                                                                                                                                                                                
      75                 :      *                                                                                                                                                                                                                                   
      76                 :      * @access private                                                                                                                                                                                                                   
      77                 :      * @var    string                                                                                                                                                                                                                    
      78                 :      */                                                                                                                                                                                                                                  
      79                 :     var $semester;                                                                                                                                                                                                                       
      80                 :     /**                                                                                                                                                                                                                                  
      81                 :      * Stichwörter der Veranstaltung.                                                                                                                                                                                                   
      82                 :      *                                                                                                                                                                                                                                   
      83                 :      * @access private                                                                                                                                                                                                                   
      84                 :      * @var    string                                                                                                                                                                                                                    
      85                 :      */                                                                                                                                                                                                                                  
      86                 :     var $keywords;                                                                                                                                                                                                                       
      87                 :     /**                                                                                                                                                                                                                                  
      88                 :      * Starttag des Anmeldeverfahrens.                                                                                                                                                                                                   
      89                 :      *                                                                                                                                                                                                                                   
      90                 :      * @access private                                                                                                                                                                                                                   
      91                 :      * @var    string                                                                                                                                                                                                                    
      92                 :      */                                                                                                                                                                                                                                  
      93                 :     var $opendate;                                                                                                                                                                                                                       
      94                 :     /**                                                                                                                                                                                                                                  
      95                 :      * Endtag des Anmeldeverfahrens.                                                                                                                                                                                                     
      96                 :      *                                                                                                                                                                                                                                   
      97                 :      * @access private                                                                                                                                                                                                                   
      98                 :      * @var    string                                                                                                                                                                                                                    
      99                 :      */                                                                                                                                                                                                                                  
     100                 :     var $closedate;                                                                                                                                                                                                                      
     101                 :     /**                                                                                                                                                                                                                                  
     102                 :      * Passwort zur Anmeldung.                                                                                                                                                                                                           
     103                 :      *                                                                                                                                                                                                                                   
     104                 :      * @access private                                                                                                                                                                                                                   
     105                 :      * @var    string                                                                                                                                                                                                                    
     106                 :      */                                                                                                                                                                                                                                  
     107                 :     var $regpass;                                                                                                                                                                                                                        
     108                 :     /**                                                                                                                                                                                                                                  
     109                 :      * Maximale Anzahl der Studenten.                                                                                                                                                                                                    
     110                 :      *                                                                                                                                                                                                                                   
     111                 :      * @access private                                                                                                                                                                                                                   
     112                 :      * @var    integer                                                                                                                                                                                                                   
     113                 :      */                                                                                                                                                                                                                                  
     114                 :     var $maxstudents;                                                                                                                                                                                                                    
     115                 :     /**                                                                                                                                                                                                                                  
     116                 :      * Soll Warteliste bei Anmeldeverfahren benutzt werden?                                                                                                                                                                              
     117                 :      *                                                                                                                                                                                                                                   
     118                 :      * @access private                                                                                                                                                                                                                   
     119                 :      * @var    bool                                                                                                                                                                                                                      
     120                 :      */                                                                                                                                                                                                                                  
     121                 :     var $usewaitinglist;                                                                                                                                                                                                                 
     122                 :     /**                                                                                                                                                                                                                                  
     123                 :      * Ist der Kurs geschlossen?                                                                                                                                                                                                         
     124                 :      *                                                                                                                                                                                                                                   
     125                 :      * @access private                                                                                                                                                                                                                   
     126                 :      * @var    bool                                                                                                                                                                                                                      
     127                 :      */                                                                                                                                                                                                                                  
     128                 :     var $closed;                                                                                                                                                                                                                         
     129                 :     /**                                                                                                                                                                                                                                  
     130                 :      * Allgemein zugaengliche Information zur Veranstaltung.                                                                                                                                                                             
     131                 :      *                                                                                                                                                                                                                                   
     132                 :      * @access private                                                                                                                                                                                                                   
     133                 :      * @var    string                                                                                                                                                                                                                    
     134                 :      */                                                                                                                                                                                                                                  
     135                 :     var $info;                                                                                                                                                                                                                           
     136                 :     /**                                                                                                                                                                                                                                  
     137                 :      * URL für eine FAQ, die in der Fussleiste eingeblendet wird.                                                                                                                                                                       
     138                 :      *                                                                                                                                                                                                                                   
     139                 :      * @access private                                                                                                                                                                                                                   
     140                 :      * @var    string                                                                                                                                                                                                                    
     141                 :      */                                                                                                                                                                                                                                  
     142                 :     var $faq_url;                                                                                                                                                                                                                        
     143                 :     /**                                                                                                                                                                                                                                  
     144                 :      * Kursspezifischer Style.                                                                                                                                                                                                           
     145                 :      *                                                                                                                                                                                                                                   
     146                 :      * @access private                                                                                                                                                                                                                   
     147                 :      * @var    string                                                                                                                                                                                                                    
     148                 :      */                                                                                                                                                                                                                                  
     149                 :     var $style;                                                                                                                                                                                                                          
     150                 :     /**                                                                                                                                                                                                                                  
     151                 :      * Typ des Kurses: normaler Kurs oder eCommunity                                                                                                                                                                                     
     152                 :      *                                                                                                                                                                                                                                   
     153                 :      * @access private                                                                                                                                                                                                                   
     154                 :      * @var    string                                                                                                                                                                                                                    
     155                 :      */                                                                                                                                                                                                                                  
     156                 :     var $type;                                                                                                                                                                                                                           
     157                 :      /**                                                                                                                                                                                                                                 
     158                 :      * $modulbeschreibung_ID                                                                                                                                                                                                             
     159                 :      * Hier wird die ID der Modulbeschreibung (, welche aus XML-Dateien importiert wurden,) gespeichert.                                                                                                                                 
     160                 :      *                                                                                                                                                                                                                                   
     161                 :      * @access private                                                                                                                                                                                                                   
     162                 :      * @var    integer                                                                                                                                                                                                                   
     163                 :      */                                                                                                                                                                                                                                  
     164                 :     var $modulbeschreibung_ID;                                                                                                                                                                                                           
     165                 :     /**                                                                                                                                                                                                                                  
     166                 :      * Temporaere Fehler des Objekts.                                                                                                                                                                                                    
     167                 :      * Hier werden alle Fehler gespeichert, die bei Manipulationen                                                                                                                                                                       
     168                 :      * auftreten koennen.                                                                                                                                                                                                                
     169                 :      *                                                                                                                                                                                                                                   
     170                 :      * @access private                                                                                                                                                                                                                   
     171                 :      * @var    string[]                                                                                                                                                                                                                  
     172                 :      */                                                                                                                                                                                                                                  
     173                 :     var $errors;                                                                                                                                                                                                                         
     174                 :     /**                                                                                                                                                                                                                                  
     175                 :      * Konstruktor.                                                                                                                                                                                                                      
     176                 :      *                                                                                                                                                                                                                                   
     177                 :      * @access public                                                                                                                                                                                                                    
     178                 :      * @param  integer $courseid - ID der Veranstaltung                                                                                                                                                                                  
     179                 :      * @return bool - true,  wenn Objekt fehlerfrei erzeugt                                                                                                                                                                              
     180                 :      *                false, wenn Fehler auftraten                                                                                                                                                                                       
     181                 :      */                                                                                                                                                                                                                                  
     182                 :     function Settings($courseid) {                                                                                                                                                                                                       
     183               0 :         $this->errors = array();                                                                                                                                                                                                         
     184               0 :         $this->id = (int)$courseid;                                                                                                                                                                                                      
     185               0 :         $dbset = $this->getDBSettings();                                                                                                                                                                                                 
     186                 :         // Fuer's Foyer gibt es keinen Eintrag, ruhiger Ausstieg                                                                                                                                                                         
     187               0 :         if ($this->id === 0) return false;                                                                                                                                                                                               
     188                 :         // Unsinnige Kurs-ID erhalten, Abbruch!                                                                                                                                                                                          
     189               0 :         if (!$dbset) throw new Exception("Dieser Kurs existiert nicht!");                                                                                                                                                                
     190               0 :         $this->name = $dbset->Name;                                                                                                                                                                                                      
     191               0 :         $this->shortname = $dbset->ShortName;                                                                                                                                                                                            
     192               0 :         $this->modulShortCut = $dbset->modulShortCut;                                                                                                                                                                                    
     193               0 :         $this->semester = $dbset->Semester;                                                                                                                                                                                              
     194               0 :         $this->opendate = $dbset->OpenDate;                                                                                                                                                                                              
     195               0 :         $this->closedate = $dbset->CloseDate;                                                                                                                                                                                            
     196               0 :         $this->regpass = $dbset->RegPass;                                                                                                                                                                                                
     197               0 :         $this->maxstudents = $dbset->MaxStudents;                                                                                                                                                                                        
     198               0 :         $this->usewaitinglist = $dbset->UseWaitinglist;                                                                                                                                                                                  
     199               0 :         $this->info = $dbset->Info;                                                                                                                                                                                                      
     200               0 :         $this->closed = $dbset->closed;                                                                                                                                                                                                  
     201               0 :         $this->keywords = $dbset->Keywords;                                                                                                                                                                                              
     202               0 :         $this->faq_url = $dbset->faq_url;                                                                                                                                                                                                
     203               0 :         $this->type = $dbset->Type;                                                                                                                                                                                                      
     204               0 :         $this->style = $dbset->style;                                                                                                                                                                                                    
     205               0 :         $this->modulbeschreibung_ID = $dbset->modulbeschreibung_ID;                                                                                                                                                                      
     206               0 :         return true;                                                                                                                                                                                                                     
     207                 :     }                                                                                                                                                                                                                                    
     208                 :     /**                                                                                                                                                                                                                                  
     209                 :      * Fuegt Fehlerstring hinzu.                                                                                                                                                                                                         
     210                 :      *                                                                                                                                                                                                                                   
     211                 :      * @access private                                                                                                                                                                                                                   
     212                 :      * @param  string $errorString - Fehlerstring                                                                                                                                                                                        
     213                 :      * @return void                                                                                                                                                                                                                      
     214                 :      */                                                                                                                                                                                                                                  
     215                 :     function addError($errorString) {                                                                                                                                                                                                    
     216               0 :         $this->errors[] = $errorString;                                                                                                                                                                                                  
     217               0 :     }                                                                                                                                                                                                                                    
     218                 :     /**                                                                                                                                                                                                                                  
     219                 :      * Loescht alle Fehlerstrings im Objekt.                                                                                                                                                                                             
     220                 :      *                                                                                                                                                                                                                                   
     221                 :      * @access public                                                                                                                                                                                                                    
     222                 :      * @return void                                                                                                                                                                                                                      
     223                 :      */                                                                                                                                                                                                                                  
     224                 :     function resetErrors() {                                                                                                                                                                                                             
     225               0 :         unset($this->errors);                                                                                                                                                                                                            
     226               0 :         $this->errors = array();                                                                                                                                                                                                         
     227               0 :     }                                                                                                                                                                                                                                    
     228                 :     /**                                                                                                                                                                                                                                  
     229                 :      * Gibt Daten aus Datenbank.courses zurueck.                                                                                                                                                                                         
     230                 :      *                                                                                                                                                                                                                                   
     231                 :      * @access private                                                                                                                                                                                                                   
     232                 :      * @return string[] - 'Name'           - Name der Veranstaltung                                                                                                                                                                      
     233                 :      *                    'ShortName'      - Kurzname der Veranstaltung                                                                                                                                                                  
     234                 :      *                    'Semester'       - Semester i.d. Veranstaltung stattfindet ("03WS")                                                                                                                                            
     235                 :      *                    'OpenDate'       - Starttag des Anmeldeverfahrens                                                                                                                                                              
     236                 :      *                    'CloseDate'      - Endtag des Anmeldeverfahrens                                                                                                                                                                
     237                 :      *                    'RegPass'        - Passwort zur Anmeldung                                                                                                                                                                      
     238                 :      *                    'MaxStudents'    - Maximale Teilnehmerzahl                                                                                                                                                                     
     239                 :      *                    'UseWaitinglist' - soll Warteliste benutzt werden                                                                                                                                                              
     240                 :      *                    'Info'           - allgemein zugaengliche Information                                                                                                                                                          
     241                 :      */                                                                                                                                                                                                                                  
     242                 :     function getDBSettings() {                                                                                                                                                                                                           
     243               0 :         global $db;                                                                                                                                                                                                                      
     244               0 :         $courseDataQ = "SELECT Name, ShortName, modulShortCut, Semester, OpenDate, CloseDate, RegPass, MaxStudents, UseWaitinglist, Info, closed, Keywords, style, faq_url, Type, modulbeschreibung_ID ";                                
     245               0 :         $courseDataQ.= "FROM courses WHERE ID=".$this->getID();                                                                                                                                                                          
     246               0 :         $courseData = $db->get_row($courseDataQ);                                                                                                                                                                                        
     247               0 :         if (!$courseData) return false;                                                                                                                                                                                                  
     248               0 :         return $courseData;                                                                                                                                                                                                              
     249                 :     }                                                                                                                                                                                                                                    
     250                 :     /**                                                                                                                                                                                                                                  
     251                 :      * Setzt den Veranstaltungsnamen.                                                                                                                                                                                                    
     252                 :      *                                                                                                                                                                                                                                   
     253                 :      * @access public                                                                                                                                                                                                                    
     254                 :      * @param  string $name - Name der Veranstaltung                                                                                                                                                                                     
     255                 :      * @return bool - true, wenn Name gesetzt                                                                                                                                                                                            
     256                 :      *                false, falls Name nicht gestzt werden konnte                                                                                                                                                                       
     257                 :      */                                                                                                                                                                                                                                  
     258                 :     function setName($name) {                                                                                                                                                                                                            
     259               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     260               0 :         $valError = $this->validateName($name);                                                                                                                                                                                          
     261               0 :         if ($valError != "") {                                                                                                                                                                                                           
     262               0 :             $this->addError("<strong>Name konnte nicht gespeichert werden</strong> (".$valError.")");                                                                                                                                    
     263               0 :             return false;                                                                                                                                                                                                                
     264                 :         }                                                                                                                                                                                                                                
     265               0 :         $name = $this->formatName($name);                                                                                                                                                                                                
     266               0 :         if ($this->name != $name) {                                                                                                                                                                                                      
     267               0 :             $updateQ = "UPDATE courses SET Name='".$name."' ";                                                                                                                                                                           
     268               0 :             $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                            
     269               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     270               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     271               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     272               0 :                 $this->addError("<strong>Name konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                                             
     273               0 :                 return false;                                                                                                                                                                                                            
     274                 :             }                                                                                                                                                                                                                            
     275               0 :         }                                                                                                                                                                                                                                
     276               0 :         $this->name = $name;                                                                                                                                                                                                             
     277               0 :         return true;                                                                                                                                                                                                                     
     278                 :     }                                                                                                                                                                                                                                    
     279                 :     /**                                                                                                                                                                                                                                  
     280                 :      * Setzt den Veranstaltungskurznamen.                                                                                                                                                                                                
     281                 :      *                                                                                                                                                                                                                                   
     282                 :      * @access public                                                                                                                                                                                                                    
     283                 :      * @param  string $shortname - Kurzame der Veranstaltung                                                                                                                                                                             
     284                 :      * @return bool - true, wenn Kurzname gesetzt                                                                                                                                                                                        
     285                 :      *                false, falls Kurzname nicht gestzt werden konnte                                                                                                                                                                   
     286                 :      */                                                                                                                                                                                                                                  
     287                 :     function setShortname($shortname) {                                                                                                                                                                                                  
     288               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     289               0 :         $valError = $this->validateShortname($shortname);                                                                                                                                                                                
     290               0 :         if ($valError != "") {                                                                                                                                                                                                           
     291               0 :             $this->addError("<strong>Kurzname konnte nicht gespeichert werden</strong> (".$valError.")");                                                                                                                                
     292               0 :             return false;                                                                                                                                                                                                                
     293                 :         }                                                                                                                                                                                                                                
     294               0 :         $shortname = $this->formatName($shortname);                                                                                                                                                                                      
     295               0 :         if ($this->shortname != $shortname) {                                                                                                                                                                                            
     296               0 :             $updateQ = "UPDATE courses SET shortName='".$shortname."' ";                                                                                                                                                                 
     297               0 :             $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                            
     298               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     299               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     300               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     301               0 :                 $this->addError("<strong>Kurzname konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                                         
     302               0 :                 return false;                                                                                                                                                                                                            
     303                 :             }                                                                                                                                                                                                                            
     304               0 :         }                                                                                                                                                                                                                                
     305               0 :         $this->shortname = $shortname;                                                                                                                                                                                                   
     306               0 :         return true;                                                                                                                                                                                                                     
     307                 :     }                                                                                                                                                                                                                                    
     308                 :                                                                                                                                                                                                                                          
     309                 :                                                                                                                                                                                                                                          
     310                 :       /**                                                                                                                                                                                                                                
     311                 :      * Setzt das Modulkürzel.                                                                                                                                                                                                           
     312                 :      *                                                                                                                                                                                                                                   
     313                 :      * @access public                                                                                                                                                                                                                    
     314                 :      * @param  string $modulShortCut - Kurzame der Veranstaltung                                                                                                                                                                         
     315                 :      * @return bool - true, wenn Modulkürzel gesetzt                                                                                                                                                                                    
     316                 :      *                false, falls Modulkürzel nicht gestzt werden konnte                                                                                                                                                               
     317                 :      */                                                                                                                                                                                                                                  
     318                 :     function setModulShortCut($modulShortCut) {                                                                                                                                                                                          
     319               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     320               0 :         $valError = $this->validateShortname($modulShortCut);                                                                                                                                                                            
     321               0 :         if ($valError != "") {                                                                                                                                                                                                           
     322               0 :             $this->addError("<strong>Modulkürzel konnte nicht gespeichert werden</strong> (".$valError.")");                                                                                                                            
     323               0 :             return false;                                                                                                                                                                                                                
     324                 :         }                                                                                                                                                                                                                                
     325               0 :         $modulShortCut = $this->formatName($modulShortCut);                                                                                                                                                                              
     326               0 :         if ($this->modulShortCut != $modulShortCut) {                                                                                                                                                                                    
     327               0 :             $updateQ = "UPDATE courses SET modulShortCut='".$modulShortCut."' ";                                                                                                                                                         
     328               0 :             $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                            
     329               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     330               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     331               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     332               0 :                 $this->addError("<strong>Modulkürzel konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                                     
     333               0 :                 return false;                                                                                                                                                                                                            
     334                 :             }                                                                                                                                                                                                                            
     335               0 :         }                                                                                                                                                                                                                                
     336               0 :         $this->modulShortCut = $modulShortCut;                                                                                                                                                                                           
     337               0 :         return true;                                                                                                                                                                                                                     
     338                 :     }                                                                                                                                                                                                                                    
     339                 :     /**                                                                                                                                                                                                                                  
     340                 :      * Setzt den kursspezifischen Style.                                                                                                                                                                                                 
     341                 :      *                                                                                                                                                                                                                                   
     342                 :      * @access public                                                                                                                                                                                                                    
     343                 :      * @param  string $style - Name des Styles                                                                                                                                                                                           
     344                 :      * @return bool - true, wenn Style gesetzt                                                                                                                                                                                           
     345                 :      *                false, falls Style nicht gesetzt werden konnte                                                                                                                                                                     
     346                 :      */                                                                                                                                                                                                                                  
     347                 :     function setStyle($style) {                                                                                                                                                                                                          
     348               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     349               0 :         $valError = $this->validateStyle($style);                                                                                                                                                                                        
     350               0 :         if ($valError != "") {                                                                                                                                                                                                           
     351               0 :             $this->addError("<strong>Kursspezifischer Style konnte nicht gespeichert werden</strong> (".$valError.")");                                                                                                                  
     352               0 :             return false;                                                                                                                                                                                                                
     353                 :         }                                                                                                                                                                                                                                
     354               0 :         if ($this->style != $style) {                                                                                                                                                                                                    
     355               0 :             $updateQ = "UPDATE courses SET style='".$style."' ";                                                                                                                                                                         
     356               0 :             $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                            
     357               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     358               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     359               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     360               0 :                 $this->addError("<strong>Kursspezifischer Style konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                           
     361               0 :                 return false;                                                                                                                                                                                                            
     362                 :             }                                                                                                                                                                                                                            
     363               0 :         }                                                                                                                                                                                                                                
     364               0 :         $this->style = $style;                                                                                                                                                                                                           
     365               0 :         return true;                                                                                                                                                                                                                     
     366                 :     }                                                                                                                                                                                                                                    
     367                 :     /**                                                                                                                                                                                                                                  
     368                 :      * Setzt die Stichwörter für die Veranstaltung.                                                                                                                                                                                    
     369                 :      *                                                                                                                                                                                                                                   
     370                 :      * @access public                                                                                                                                                                                                                    
     371                 :      * @param  string $keywords - Stichwörter der Veranstaltung                                                                                                                                                                         
     372                 :      * @return bool - true, wenn Stichwörter gesetzt                                                                                                                                                                                    
     373                 :      *                false, falls Stichwörter nicht gestzt werden konnten                                                                                                                                                              
     374                 :      */                                                                                                                                                                                                                                  
     375                 :     function setKeywords($keywords) {                                                                                                                                                                                                    
     376               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     377               0 :         $valError = $this->validateKeywords($keywords);                                                                                                                                                                                  
     378               0 :         if ($valError != "") {                                                                                                                                                                                                           
     379               0 :             $this->addError("<strong>Stichwörter konnten nicht gespeichert werden</strong> (".$valError.")");                                                                                                                           
     380               0 :             return false;                                                                                                                                                                                                                
     381                 :         }                                                                                                                                                                                                                                
     382               0 :         $keywords = $this->formatName($keywords);                                                                                                                                                                                        
     383               0 :         if ($this->keywords != $keywords) {                                                                                                                                                                                              
     384               0 :             $updateQ = "UPDATE courses SET keywords='".$keywords."' ";                                                                                                                                                                   
     385               0 :             $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                            
     386               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     387               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     388               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     389               0 :                 $this->addError("<strong>Kurzname konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                                         
     390               0 :                 return false;                                                                                                                                                                                                            
     391                 :             }                                                                                                                                                                                                                            
     392               0 :         }                                                                                                                                                                                                                                
     393               0 :         $this->keywords = $keywords;                                                                                                                                                                                                     
     394               0 :         return true;                                                                                                                                                                                                                     
     395                 :     }                                                                                                                                                                                                                                    
     396                 :     function setFAQURL($faq) {                                                                                                                                                                                                           
     397               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     398               0 :         $valError = $this->validateKeywords($faq);                                                                                                                                                                                       
     399               0 :         if ($valError != "") {                                                                                                                                                                                                           
     400               0 :             $this->addError("<strong>FAQ-URL zu lang.</strong>");                                                                                                                                                                        
     401               0 :             return false;                                                                                                                                                                                                                
     402                 :         }                                                                                                                                                                                                                                
     403                 :         //$faq = trim($faq);                                                                                                                                                                                                             
     404               0 :         $faq = Data::toMySQL($faq);                                                                                                                                                                                                      
     405               0 :         if ($this->faq_url != $faq) {                                                                                                                                                                                                    
     406               0 :             $updateQ = "UPDATE courses SET faq_url='".$faq."' ";                                                                                                                                                                         
     407               0 :             $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                            
     408               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     409               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     410               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     411               0 :                 $this->addError("<strong>FAQ konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                                              
     412               0 :                 return false;                                                                                                                                                                                                            
     413                 :             }                                                                                                                                                                                                                            
     414               0 :         }                                                                                                                                                                                                                                
     415               0 :         $this->faq_url = $faq;                                                                                                                                                                                                           
     416               0 :         return true;                                                                                                                                                                                                                     
     417                 :     }                                                                                                                                                                                                                                    
     418                 :     /**                                                                                                                                                                                                                                  
     419                 :      * Setzt das Semester, in dem die Veranstaltung stattfindet.                                                                                                                                                                         
     420                 :      *                                                                                                                                                                                                                                   
     421                 :      * @access public                                                                                                                                                                                                                    
     422                 :      * @param  string $semester - Semesterstring in der Form "WS 03/04" oder "SS 04"                                                                                                                                                     
     423                 :      * @return bool - true, wenn Semester gesetzt                                                                                                                                                                                        
     424                 :      *                false, falls Semester nicht gestzt werden konnte                                                                                                                                                                   
     425                 :      */                                                                                                                                                                                                                                  
     426                 :     function setSemester($semester) {                                                                                                                                                                                                    
     427               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     428               0 :         $updateQ = "UPDATE courses SET Semester='";                                                                                                                                                                                      
     429               0 :         $updateQ.= Course::semesterStringToDB($semester);                                                                                                                                                                                
     430               0 :         $updateQ.= "' WHERE ID=".$this->getID();                                                                                                                                                                                         
     431               0 :         $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                               
     432               0 :         $db->query($updateQ);                                                                                                                                                                                                            
     433               0 :         if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                         
     434               0 :             $this->addError("<strong>Semester konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                                             
     435               0 :             return false;                                                                                                                                                                                                                
     436                 :         }                                                                                                                                                                                                                                
     437               0 :         $this->semester = $semester;                                                                                                                                                                                                     
     438               0 :         return true;                                                                                                                                                                                                                     
     439                 :     }                                                                                                                                                                                                                                    
     440                 :     /**                                                                                                                                                                                                                                  
     441                 :      * Setzt das Startdatum fuer das Anmeldeverfahren.                                                                                                                                                                                   
     442                 :      *                                                                                                                                                                                                                                   
     443                 :      * @access public                                                                                                                                                                                                                    
     444                 :      * @param  string $opendate - Startdatum                                                                                                                                                                                             
     445                 :      * @return bool - true, wenn Startdatum gesetzt                                                                                                                                                                                      
     446                 :      *                false, falls Startdatum nicht gestzt werden konnte                                                                                                                                                                 
     447                 :      */                                                                                                                                                                                                                                  
     448                 :     function setOpendate($opendate) {                                                                                                                                                                                                    
     449               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     450               0 :         $updateQ = "UPDATE courses SET OpenDate='".$opendate;                                                                                                                                                                            
     451               0 :         $updateQ.= "' WHERE ID=".$this->getID();                                                                                                                                                                                         
     452               0 :         $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                               
     453               0 :         $db->query($updateQ);                                                                                                                                                                                                            
     454               0 :         if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                         
     455               0 :             $this->addError("<strong>Startzeitpunkt der Anmeldung konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                         
     456               0 :             return false;                                                                                                                                                                                                                
     457                 :         }                                                                                                                                                                                                                                
     458               0 :         $this->opendate = $opendate;                                                                                                                                                                                                     
     459               0 :         return true;                                                                                                                                                                                                                     
     460                 :     }                                                                                                                                                                                                                                    
     461                 :     /**                                                                                                                                                                                                                                  
     462                 :      * Setzt das Enddatum fuer das Anmeldeverfahren.                                                                                                                                                                                     
     463                 :      *                                                                                                                                                                                                                                   
     464                 :      * @access public                                                                                                                                                                                                                    
     465                 :      * @param  string $closedate - Enddatum                                                                                                                                                                                              
     466                 :      * @return bool - true, wenn Enddatum gesetzt                                                                                                                                                                                        
     467                 :      *                false, falls Enddatum nicht gestzt werden konnte                                                                                                                                                                   
     468                 :      */                                                                                                                                                                                                                                  
     469                 :     function setClosedate($closedate) {                                                                                                                                                                                                  
     470               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     471               0 :         $updateQ = "UPDATE courses SET CloseDate='".$closedate;                                                                                                                                                                          
     472               0 :         $updateQ.= "' WHERE ID=".$this->getID();                                                                                                                                                                                         
     473               0 :         $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                               
     474               0 :         $db->query($updateQ);                                                                                                                                                                                                            
     475               0 :         if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                         
     476               0 :             $this->addError("<strong>Endzeitpunkt der Anmeldung konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                           
     477               0 :             return false;                                                                                                                                                                                                                
     478                 :         }                                                                                                                                                                                                                                
     479               0 :         $this->closedate = $closedate;                                                                                                                                                                                                   
     480               0 :         return true;                                                                                                                                                                                                                     
     481                 :     }                                                                                                                                                                                                                                    
     482                 :     /**                                                                                                                                                                                                                                  
     483                 :      * Setzt das Passwort fuer das Anmeldeverfahren.                                                                                                                                                                                     
     484                 :      *                                                                                                                                                                                                                                   
     485                 :      * @access public                                                                                                                                                                                                                    
     486                 :      * @param  string $regpass - Passwort                                                                                                                                                                                                
     487                 :      * @return bool - true, wenn Passwort gesetzt                                                                                                                                                                                        
     488                 :      *                false, falls Passwort nicht gestzt werden konnte                                                                                                                                                                   
     489                 :      */                                                                                                                                                                                                                                  
     490                 :     function setRegpass($regpass) {                                                                                                                                                                                                      
     491               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     492                 :         /* Leeres Anmeldepasswort soll gestattet sein */                                                                                                                                                                                 
     493               0 :         if ($regpass != '') {                                                                                                                                                                                                            
     494               0 :             $valError = '';                                                                                                                                                                                                              
     495               0 :             $errorArray = $this->validateRegistrationPassword($regpass);                                                                                                                                                                 
     496               0 :             if ($errorArray) {                                                                                                                                                                                                           
     497                 :                 /* error array set, PW invalid */                                                                                                                                                                                        
     498               0 :                 $valError = Passwords::errorConstToString($errorArray);                                                                                                                                                                  
     499               0 :                 $passwordSuggestion = Passwords::generatePasswordFromUserInput($regpass, $errorArray);                                                                                                                                   
     500               0 :                 $pwHint = Passwords::getUserHintAsHTML();                                                                                                                                                                                
     501               0 :                 $this->addError("<strong>Passwort f&uuml;r die Anmeldung konnte nicht gespeichert werden</strong><br />".$valError.$pwHint."<br/>So könnte ein gültiges Passwort anhand Ihrer Eingabe aussehen: ".$passwordSuggestion);
     502               0 :                 return false;                                                                                                                                                                                                            
     503                 :             }                                                                                                                                                                                                                            
     504               0 :         }                                                                                                                                                                                                                                
     505               0 :         if ($this->regpass != $regpass) {                                                                                                                                                                                                
     506               0 :             $updateQ = "UPDATE courses SET RegPass='".Data::toMySQL($regpass) ."' ";                                                                                                                                                     
     507               0 :             $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                            
     508               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     509               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     510               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     511               0 :                 $this->addError("<strong>Passwort f&uuml;r die Anmeldung konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                  
     512               0 :                 return false;                                                                                                                                                                                                            
     513                 :             }                                                                                                                                                                                                                            
     514               0 :         }                                                                                                                                                                                                                                
     515               0 :         $this->regpass = $regpass;                                                                                                                                                                                                       
     516               0 :         return true;                                                                                                                                                                                                                     
     517                 :     }                                                                                                                                                                                                                                    
     518                 :     /**                                                                                                                                                                                                                                  
     519                 :      * Setzt die maximale Anzahl der an der Veranstaltung teilnehmenden Studenten.                                                                                                                                                       
     520                 :      *                                                                                                                                                                                                                                   
     521                 :      * @access public                                                                                                                                                                                                                    
     522                 :      * @param  integer $count - Anzahl                                                                                                                                                                                                   
     523                 :      * @return bool - true, wenn Anzahl gesetzt                                                                                                                                                                                          
     524                 :      *                false, falls Anzahl nicht gestzt werden konnte                                                                                                                                                                     
     525                 :      */                                                                                                                                                                                                                                  
     526                 :     function setMaxStudents($count) {                                                                                                                                                                                                    
     527               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     528               0 :         $valError = $this->validateMaxStudents($count);                                                                                                                                                                                  
     529               0 :         if ($valError != "") {                                                                                                                                                                                                           
     530               0 :             $this->addError("<strong>Maximale Teilnehmerzahl konnte nicht gespeichert werden</strong> (".$valError.")");                                                                                                                 
     531               0 :             return false;                                                                                                                                                                                                                
     532                 :         }                                                                                                                                                                                                                                
     533               0 :         if ($this->getMaxStudents() != $count) {                                                                                                                                                                                         
     534               0 :             $updateQ = "UPDATE courses SET MaxStudents='".$count."' ";                                                                                                                                                                   
     535               0 :             $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                            
     536               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     537               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     538               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     539               0 :                 $this->addError("<strong>Maximale Teilnehmerzahl konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                          
     540               0 :                 return false;                                                                                                                                                                                                            
     541                 :             }                                                                                                                                                                                                                            
     542               0 :         }                                                                                                                                                                                                                                
     543               0 :         $this->maxstudents = $count;                                                                                                                                                                                                     
     544               0 :         return true;                                                                                                                                                                                                                     
     545                 :     }                                                                                                                                                                                                                                    
     546                 :     /**                                                                                                                                                                                                                                  
     547                 :      * Legt fest, ob beim Anmeldeverfahren eine Warteliste benutzt werden soll.                                                                                                                                                          
     548                 :      *                                                                                                                                                                                                                                   
     549                 :      * @access public                                                                                                                                                                                                                    
     550                 :      * @param  integer $use - 1 fuer ja, 0 fuer nein                                                                                                                                                                                     
     551                 :      * @return bool - true, wenn gesetzt                                                                                                                                                                                                 
     552                 :      *                false, falls nicht gestzt werden konnte                                                                                                                                                                            
     553                 :      */                                                                                                                                                                                                                                  
     554                 :     function setUseWaitinglist($use) {                                                                                                                                                                                                   
     555               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     556                 :         // auf gueltige Werte pruefen.                                                                                                                                                                                                   
     557               0 :         if (($use != 1) && ($use != 0)) {                                                                                                                                                                                                
     558               0 :             return false;                                                                                                                                                                                                                
     559                 :         }                                                                                                                                                                                                                                
     560                 :         // pruefen, ob noch Benutzer in Warteliste sind.                                                                                                                                                                                 
     561               0 :         if (($use == 0) && (count(Course::getParticipants($this->getID(), "wait")) != 0)) {                                                                                                                                              
     562               0 :             $this->addError("<strong>Warteliste konnte nicht deaktiviert werden</strong><br />(Es sind noch Benutzer in der Warteliste vorhanden<br />Bereinigen Sie die Warteliste vor dem Deaktivieren)");                             
     563               0 :             return false;                                                                                                                                                                                                                
     564                 :         }                                                                                                                                                                                                                                
     565               0 :         if ($this->getUseWaitinglist() != $use) {                                                                                                                                                                                        
     566               0 :             $updateQ = "UPDATE courses SET UseWaitinglist=".$use." ";                                                                                                                                                                    
     567               0 :             $updateQ.= "WHERE ID=".$this->getID();                                                                                                                                                                                       
     568               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     569               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     570               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     571               0 :                 $this->addError("<strong>Wartelisteneinstellung konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                           
     572               0 :                 return false;                                                                                                                                                                                                            
     573                 :             }                                                                                                                                                                                                                            
     574               0 :         }                                                                                                                                                                                                                                
     575               0 :         $this->usewaitinglist = $use;                                                                                                                                                                                                    
     576               0 :         return true;                                                                                                                                                                                                                     
     577                 :     }                                                                                                                                                                                                                                    
     578                 :     /**                                                                                                                                                                                                                                  
     579                 :      * Setzt die allgemein zugaengliche Information fuer die Veranstaltung.                                                                                                                                                              
     580                 :      *                                                                                                                                                                                                                                   
     581                 :      * @access public                                                                                                                                                                                                                    
     582                 :      * @param  string $info - Infostring                                                                                                                                                                                                 
     583                 :      * @return bool - true, wenn Info gesetzt                                                                                                                                                                                            
     584                 :      *                false, falls Info nicht gestzt werden konnte                                                                                                                                                                       
     585                 :      */                                                                                                                                                                                                                                  
     586                 :     function setInfo($info) {                                                                                                                                                                                                            
     587               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     588                 :         /*$valError = $this->validateInfo($info);                                                                                                                                                                                        
     589                 :         if($valError != "") {                                                                                                                                                                                                            
     590                 :         $this->addError("<strong>Veranstaltungs-Information konnte nicht gespeichert werden</strong> (".$valError.")");                                                                                                                  
     591                 :         return false;                                                                                                                                                                                                                    
     592                 :         }                                                                                                                                                                                                                                
     593                 :         $info = $this->formatInfo($info);*/                                                                                                                                                                                              
     594               0 :         if ($this->info != $info) {                                                                                                                                                                                                      
     595               0 :             $updateQ = "UPDATE courses SET Info='".$info."' ";                                                                                                                                                                           
     596               0 :             $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                            
     597               0 :             $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                           
     598               0 :             $db->query($updateQ);                                                                                                                                                                                                        
     599               0 :             if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                     
     600               0 :                 $this->addError("<strong>Veranstaltungs-Information konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                       
     601               0 :                 return false;                                                                                                                                                                                                            
     602                 :             }                                                                                                                                                                                                                            
     603               0 :         }                                                                                                                                                                                                                                
     604               0 :         $this->info = $info;                                                                                                                                                                                                             
     605               0 :         return true;                                                                                                                                                                                                                     
     606                 :     }                                                                                                                                                                                                                                    
     607                 :                                                                                                                                                                                                                                          
     608                 :     function setModulbeschreibung_ID($modulID){                                                                                                                                                                                          
     609               0 :         global $db, $EZSQL_ERROR;                                                                                                                                                                                                        
     610                 :                                                                                                                                                                                                                                          
     611               0 :         $updateQ = "UPDATE courses SET modulbeschreibung_ID='".$modulID."'";                                                                                                                                                             
     612               0 :         $updateQ.= "WHERE ID=".$this->id;                                                                                                                                                                                                
     613               0 :         $errorCount = count($EZSQL_ERROR);                                                                                                                                                                                               
     614               0 :         $db->query($updateQ);                                                                                                                                                                                                            
     615               0 :         if (count($EZSQL_ERROR) > $errorCount) {                                                                                                                                                                                         
     616               0 :             $this->addError("<strong>Modulbeschreibung_ID konnte nicht gespeichert werden</strong> (Datenbank-Fehler)");                                                                                                                 
     617               0 :             return false;                                                                                                                                                                                                                
     618                 :         }                                                                                                                                                                                                                                
     619                 :                                                                                                                                                                                                                                          
     620               0 :         $this->modulbeschreibung_ID = $modulID;                                                                                                                                                                                          
     621               0 :         return true;                                                                                                                                                                                                                     
     622                 :                                                                                                                                                                                                                                          
     623                 :     }                                                                                                                                                                                                                                    
     624                 :                                                                                                                                                                                                                                          
     625                 :                                                                                                                                                                                                                                          
     626                 :     /**                                                                                                                                                                                                                                  
     627                 :      * Gibt die ID der Veranstaltung zurueck.                                                                                                                                                                                            
     628                 :      *                                                                                                                                                                                                                                   
     629                 :      * @access public                                                                                                                                                                                                                    
     630                 :      * @return integer - ID der Veranstaltung                                                                                                                                                                                            
     631                 :      */                                                                                                                                                                                                                                  
     632                 :     function getID() {                                                                                                                                                                                                                   
     633               0 :         return (int)$this->id;                                                                                                                                                                                                           
     634                 :     }                                                                                                                                                                                                                                    
     635                 :     /**                                                                                                                                                                                                                                  
     636                 :      * Gibt den Namen der Veranstaltung zurueck.                                                                                                                                                                                         
     637                 :      *                                                                                                                                                                                                                                   
     638                 :      * @access public                                                                                                                                                                                                                    
     639                 :      * @return string - Name der Veranstaltung                                                                                                                                                                                           
     640                 :      */                                                                                                                                                                                                                                  
     641                 :     function getName() {                                                                                                                                                                                                                 
     642               0 :         return $this->name;                                                                                                                                                                                                              
     643                 :     }                                                                                                                                                                                                                                    
     644                 :                                                                                                                                                                                                                                          
     645                 :                                                                                                                                                                                                                                          
     646                 :     /**                                                                                                                                                                                                                                  
     647                 :      * Gibt den Kurznamen der Veranstaltung zurueck.                                                                                                                                                                                     
     648                 :      *                                                                                                                                                                                                                                   
     649                 :      * @access public                                                                                                                                                                                                                    
     650                 :      * @return string - Kurzname der Veranstaltung                                                                                                                                                                                       
     651                 :      */                                                                                                                                                                                                                                  
     652                 :     function getShortname() {                                                                                                                                                                                                            
     653               0 :         return $this->shortname;                                                                                                                                                                                                         
     654                 :     }                                                                                                                                                                                                                                    
     655                 :                                                                                                                                                                                                                                          
     656                 :      /**                                                                                                                                                                                                                                 
     657                 :      * Gibt das Modulkürzel der Veranstaltung zurueck.                                                                                                                                                                                  
     658                 :      *                                                                                                                                                                                                                                   
     659                 :      * @access public                                                                                                                                                                                                                    
     660                 :      * @return string - Modulkürzel der Veranstaltung                                                                                                                                                                                   
     661                 :      */                                                                                                                                                                                                                                  
     662                 :     function getModulShortCut(){                                                                                                                                                                                                         
     663               0 :         return $this->modulShortCut;                                                                                                                                                                                                     
     664                 :     }                                                                                                                                                                                                                                    
     665                 :                                                                                                                                                                                                                                          
     666                 :     /**                                                                                                                                                                                                                                  
     667                 :      * Gibt die Stichwörter der Veranstaltung zurück.                                                                                                                                                                                  
     668                 :      *                                                                                                                                                                                                                                   
     669                 :      * @access public                                                                                                                                                                                                                    
     670                 :      * @return string - Stichwörter der Veranstaltung                                                                                                                                                                                   
     671                 :      */                                                                                                                                                                                                                                  
     672                 :     function getKeywords() {                                                                                                                                                                                                             
     673               0 :         return $this->keywords;                                                                                                                                                                                                          
     674                 :     }                                                                                                                                                                                                                                    
     675                 :     /**                                                                                                                                                                                                                                  
     676                 :      * Gibt das Semester der Veranstaltung zurueck.                                                                                                                                                                                      
     677                 :      *                                                                                                                                                                                                                                   
     678                 :      * @access public                                                                                                                                                                                                                    
     679                 :      * @return string - Semester, in dem die Veranstaltung stattfindet                                                                                                                                                                   
     680                 :      *                  ( In  der Form "04SS" bzw. "03WS" )                                                                                                                                                                              
     681                 :      */                                                                                                                                                                                                                                  
     682                 :     function getSemester() {                                                                                                                                                                                                             
     683               0 :         return $this->semester;                                                                                                                                                                                                          
     684                 :     }                                                                                                                                                                                                                                    
     685                 :     /**                                                                                                                                                                                                                                  
     686                 :      * Gibt das Startdatum fuer das Anmeldeverfahren zurueck.                                                                                                                                                                            
     687                 :      *                                                                                                                                                                                                                                   
     688                 :      * @access public                                                                                                                                                                                                                    
     689                 :      * @return string - Startdatum                                                                                                                                                                                                       
     690                 :      */                                                                                                                                                                                                                                  
     691                 :     function getOpendate() {                                                                                                                                                                                                             
     692               0 :         return $this->opendate;                                                                                                                                                                                                          
     693                 :     }                                                                                                                                                                                                                                    
     694                 :     /**                                                                                                                                                                                                                                  
     695                 :      * Gibt das Enddatum fuer das Anmeldeverfahren zurueck.                                                                                                                                                                              
     696                 :      *                                                                                                                                                                                                                                   
     697                 :      * @access public                                                                                                                                                                                                                    
     698                 :      * @return string - Enddatum                                                                                                                                                                                                         
     699                 :      */                                                                                                                                                                                                                                  
     700                 :     function getClosedate() {                                                                                                                                                                                                            
     701               0 :         return $this->closedate;                                                                                                                                                                                                         
     702                 :     }                                                                                                                                                                                                                                    
     703                 :     /**                                                                                                                                                                                                                                  
     704                 :      * Gibt das Passwort fuer das Anmeldeverfahren zurueck.                                                                                                                                                                              
     705                 :      *                                                                                                                                                                                                                                   
     706                 :      * @access public                                                                                                                                                                                                                    
     707                 :      * @return string - Passwort                                                                                                                                                                                                         
     708                 :      */                                                                                                                                                                                                                                  
     709                 :     function getRegpass() {                                                                                                                                                                                                              
     710               0 :         return $this->regpass;                                                                                                                                                                                                           
     711                 :     }                                                                                                                                                                                                                                    
     712                 :     /**                                                                                                                                                                                                                                  
     713                 :      * Gibt zurueck, ob eine Warteliste beim Anmeldeverfahren benutzt wird.                                                                                                                                                              
     714                 :      *                                                                                                                                                                                                                                   
     715                 :      * @access public                                                                                                                                                                                                                    
     716                 :      * @return integer - 1, falls Warteliste benutzt wird                                                                                                                                                                                
     717                 :      *                   0, falls nicht                                                                                                                                                                                                  
     718                 :      */                                                                                                                                                                                                                                  
     719                 :     function getUseWaitinglist() {                                                                                                                                                                                                       
     720               0 :         return (int)$this->usewaitinglist;                                                                                                                                                                                               
     721                 :     }                                                                                                                                                                                                                                    
     722                 :     /**                                                                                                                                                                                                                                  
     723                 :      * Gibt die Anzahl der maximal teilnehmenden Studenten zurueck.                                                                                                                                                                      
     724                 :      *                                                                                                                                                                                                                                   
     725                 :      * @access public                                                                                                                                                                                                                    
     726                 :      * @return integer - maximale Anzahl der Studenten                                                                                                                                                                                   
     727                 :      */                                                                                                                                                                                                                                  
     728                 :     function getMaxStudents() {                                                                                                                                                                                                          
     729               0 :         return (int)$this->maxstudents;                                                                                                                                                                                                  
     730                 :     }                                                                                                                                                                                                                                    
     731                 :     /**                                                                                                                                                                                                                                  
     732                 :      * Gibt die allgemein zugaengliche Information zurueck.                                                                                                                                                                              
     733                 :      *                                                                                                                                                                                                                                   
     734                 :      * @access public                                                                                                                                                                                                                    
     735                 :      * @return string - Infostring                                                                                                                                                                                                       
     736                 :      */                                                                                                                                                                                                                                  
     737                 :     function getInfo() {                                                                                                                                                                                                                 
     738               0 :         return $this->info;                                                                                                                                                                                                              
     739                 :     }                                                                                                                                                                                                                                    
     740                 :     /**                                                                                                                                                                                                                                  
     741                 :      * Gibt zurueck, ob der Kurs geschlossen ist.                                                                                                                                                                                        
     742                 :      *                                                                                                                                                                                                                                   
     743                 :      * @access public                                                                                                                                                                                                                    
     744                 :      * @return integer - 1, falls geschlossen                                                                                                                                                                                            
     745                 :      *                   0, falls nicht                                                                                                                                                                                                  
     746                 :      */                                                                                                                                                                                                                                  
     747                 :     function getClosed() {                                                                                                                                                                                                               
     748               0 :         return (int)$this->closed;                                                                                                                                                                                                       
     749                 :     }                                                                                                                                                                                                                                    
     750                 :     /**                                                                                                                                                                                                                                  
     751                 :      * Gibt den Namen des kursspezifischen Style zurück.                                                                                                                                                                                
     752                 :      *                                                                                                                                                                                                                                   
     753                 :      * @access public                                                                                                                                                                                                                    
     754                 :      * @return string Name des kursspezifischen Style                                                                                                                                                                                    
     755                 :      */                                                                                                                                                                                                                                  
     756                 :     function getStyle() {                                                                                                                                                                                                                
     757               0 :         return $this->style;                                                                                                                                                                                                             
     758                 :     }                                                                                                                                                                                                                                    
     759                 :     /** Gibt die faq-url zurück                                                                                                                                                                                                         
     760                 :      *                                                                                                                                                                                                                                   
     761                 :      * @access public                                                                                                                                                                                                                    
     762                 :      * @return string - FAQ-URL                                                                                                                                                                                                          
     763                 :      */                                                                                                                                                                                                                                  
     764                 :     function getFAQ() {                                                                                                                                                                                                                  
     765               0 :         return $this->faq_url;                                                                                                                                                                                                           
     766                 :     }                                                                                                                                                                                                                                    
     767                 :                                                                                                                                                                                                                                          
     768                 :     /** Gibt die den Type des Kurses zurück: normaler Kurs ('course') oder eComuniity ('ecom')                                                                                                                                          
     769                 :      *                                                                                                                                                                                                                                   
     770                 :      * @access public                                                                                                                                                                                                                    
     771                 :      * @return string - Type                                                                                                                                                                                                             
     772                 :      */                                                                                                                                                                                                                                  
     773                 :     function getCourseType() {                                                                                                                                                                                                           
     774               0 :         return $this->type;                                                                                                                                                                                                              
     775                 :     }                                                                                                                                                                                                                                    
     776                 :                                                                                                                                                                                                                                          
     777                 :     function getModulbeschreibung_ID(){                                                                                                                                                                                                  
     778               0 :         return $this->modulbeschreibung_ID;                                                                                                                                                                                              
     779                 :     }                                                                                                                                                                                                                                    
     780                 :     /**                                                                                                                                                                                                                                  
     781                 :      * Prueft, ob Anmeldeverfahren geoeffnet.                                                                                                                                                                                            
     782                 :      *                                                                                                                                                                                                                                   
     783                 :      * @access public                                                                                                                                                                                                                    
     784                 :      * @return bool - true,  falls Anmeldung moeglich                                                                                                                                                                                    
     785                 :      *                false, falls Anmeldeverfahren vorbei oder noch nicht begonnen                                                                                                                                                      
     786                 :      */                                                                                                                                                                                                                                  
     787                 :     function registrationIsActive() {                                                                                                                                                                                                    
     788               0 :         $now = time();                                                                                                                                                                                                                   
     789                 :                                                                                                                                                                                                                                          
     790               0 :         $isRegistrationOver = $now > strtotime($this->getClosedate() ." 23:59:59");                                                                                                                                                      
     791               0 :         return $this->hasRegistrationStarted($now) && ! $isRegistrationOver;                                                                                                                                                             
     792                 :     }                                                                                                                                                                                                                                    
     793                 :                                                                                                                                                                                                                                          
     794                 :     /**                                                                                                                                                                                                                                  
     795                 :      * @param $now Zeitstempel in Sekunden                                                                                                                                                                                               
     796                 :      * @return bool                                                                                                                                                                                                                      
     797                 :      */                                                                                                                                                                                                                                  
     798                 :     public function hasRegistrationStarted($now) {                                                                                                                                                                                       
     799               0 :         return $now >= strtotime($this->getOpendate());                                                                                                                                                                                  
     800                 :     }                                                                                                                                                                                                                                    
     801                 :     /**                                                                                                                                                                                                                                  
     802                 :      * Ueberprueft einen Veranstaltungsnamen auf gueltige Zeichen.                                                                                                                                                                       
     803                 :      * Gueltige Zeichen sind alle alphabetischen Gross-und Kleinbuchstaben                                                                                                                                                               
     804                 :      * und alle Zahlen, sowie die folgenden Sonderzeichen :                                                                                                                                                                              
     805                 :      * ' ', '/', 'Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü', '-', '+', '#', '(', ')'                                                                                                                                                             
     806                 :      *                                                                                                                                                                                                                                   
     807                 :      * @static                                                                                                                                                                                                                           
     808                 :      * @access  public                                                                                                                                                                                                                   
     809                 :      *                                                                                                                                                                                                                                   
     810                 :      * @param   string  $coursename   - Veranstaltungsname, der geprueft werden soll.                                                                                                                                                    
     811                 :      *                                                                                                                                                                                                                                   
     812                 :      * @return string  ""            - falls Name gueltig.                                                                                                                                                                               
     813                 :      *                 $errorMessage - falls ungueltige Zeichen in Name enthalten.                                                                                                                                                       
     814                 :      */                                                                                                                                                                                                                                  
     815                 :     function validateName($name) {                                                                                                                                                                                                       
     816               0 :         $nameLength = strlen($name); // Anzahl der Zeichen von $coursename.                                                                                                                                                              
     817               0 :         $validChars = array(); // Zeichen, die ein Veranstaltungsname enthalten darf.                                                                                                                                                    
     818                 :         // Pruefen, ob $coursename leerer String.                                                                                                                                                                                        
     819               0 :         if ($nameLength == 0) {                                                                                                                                                                                                          
     820               0 :             return "kein Name &uuml;bergeben";                                                                                                                                                                                           
     821                 :         }                                                                                                                                                                                                                                
     822                 :         // Auf Maximal-Laenge ueberpruefen.                                                                                                                                                                                              
     823               0 :         if ($nameLength > 120) {                                                                                                                                                                                                         
     824               0 :             return "Name ist zu lang";                                                                                                                                                                                                   
     825                 :         }                                                                                                                                                                                                                                
     826                 :         // alphabetische Grossbuchstaben setzen. (A..Z)                                                                                                                                                                                  
     827               0 :         for ($i = 65 ; $i <= 90 ; $i++) {                                                                                                                                                                                                
     828               0 :             $validChars[] = chr($i);                                                                                                                                                                                                     
     829               0 :         }                                                                                                                                                                                                                                
     830                 :         // alphabetische Kleinbuchstaben setzen. (a..z)                                                                                                                                                                                  
     831               0 :         for ($i = 97 ; $i <= 122 ; $i++) {                                                                                                                                                                                               
     832               0 :             $validChars[] = chr($i);                                                                                                                                                                                                     
     833               0 :         }                                                                                                                                                                                                                                
     834                 :         // Zahlen setzen. (0..9)                                                                                                                                                                                                         
     835               0 :         for ($i = 48 ; $i <= 57 ; $i++) {                                                                                                                                                                                                
     836               0 :             $validChars[] = chr($i);                                                                                                                                                                                                     
     837               0 :         }                                                                                                                                                                                                                                
     838                 :         // Auswahl an Sonderzeichen erlauben...                                                                                                                                                                                          
     839               0 :         $validChars[] = ' ';                                                                                                                                                                                                             
     840               0 :         $validChars[] = '/';                                                                                                                                                                                                             
     841               0 :         $validChars[] = 'ß';                                                                                                                                                                                                            
     842               0 :         $validChars[] = 'Ä';                                                                                                                                                                                                            
     843               0 :         $validChars[] = 'Ö';                                                                                                                                                                                                            
     844               0 :         $validChars[] = 'Ü';                                                                                                                                                                                                            
     845               0 :         $validChars[] = 'ä';                                                                                                                                                                                                            
     846               0 :         $validChars[] = 'ö';                                                                                                                                                                                                            
     847               0 :         $validChars[] = 'ü';                                                                                                                                                                                                            
     848               0 :         $validChars[] = '-';                                                                                                                                                                                                             
     849               0 :         $validChars[] = '+';                                                                                                                                                                                                             
     850               0 :         $validChars[] = '#';                                                                                                                                                                                                             
     851               0 :         $validChars[] = '(';                                                                                                                                                                                                             
     852               0 :         $validChars[] = ')';                                                                                                                                                                                                             
     853               0 :         reset($validChars);                                                                                                                                                                                                              
     854                 :         // Jedes Zeichen in $coursename auf Vorhandensein in $validChars pruefen.                                                                                                                                                        
     855               0 :         for ($i = 0 ; $i < $nameLength ; $i++) {                                                                                                                                                                                         
     856               0 :             if (!in_array(substr($name, $i, 1), $validChars)) {                                                                                                                                                                          
     857               0 :                 return "Sonderzeichen verwendet";                                                                                                                                                                                        
     858                 :             }                                                                                                                                                                                                                            
     859               0 :         }                                                                                                                                                                                                                                
     860                 :         // Veranstaltungsname O.K.                                                                                                                                                                                                       
     861               0 :         return "";                                                                                                                                                                                                                       
     862                 :     }                                                                                                                                                                                                                                    
     863                 :     /**                                                                                                                                                                                                                                  
     864                 :      * Ueberprueft einen Kurznamen auf gueltige Zeichen.                                                                                                                                                                                 
     865                 :      * Gueltige Zeichen sind alle alphabetischen Gross-und Kleinbuchstaben                                                                                                                                                               
     866                 :      * und alle Zahlen, sowie die folgenden Sonderzeichen :                                                                                                                                                                              
     867                 :      * ' ', '/', 'Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü', '-', '+', '#', '(', ')'                                                                                                                                                             
     868                 :      *                                                                                                                                                                                                                                   
     869                 :      * @static                                                                                                                                                                                                                           
     870                 :      * @access  public                                                                                                                                                                                                                   
     871                 :      *                                                                                                                                                                                                                                   
     872                 :      * @param   string  $shortname    - Kurzname, der geprueft werden soll.                                                                                                                                                              
     873                 :      *                                                                                                                                                                                                                                   
     874                 :      * @return  string  ""            - falls Name gueltig.                                                                                                                                                                              
     875                 :      *                  $errorMessage - falls ungueltige Zeichen in Name enthalten.                                                                                                                                                      
     876                 :      */                                                                                                                                                                                                                                  
     877                 :     function validateShortname($shortname) {                                                                                                                                                                                             
     878               0 :         $nameLength = strlen($shortname); // Anzahl der Zeichen von $coursename.                                                                                                                                                         
     879               0 :         $validChars = array(); // Zeichen, die ein Veranstaltungsname enthalten darf.                                                                                                                                                    
     880                 :         // Pruefen, ob $shortname leerer String.                                                                                                                                                                                         
     881               0 :         if ($nameLength == 0) {                                                                                                                                                                                                          
     882               0 :             return "kein Name &uuml;bergeben";                                                                                                                                                                                           
     883                 :         }                                                                                                                                                                                                                                
     884                 :         // Auf Maximal-Laenge ueberpruefen.                                                                                                                                                                                              
     885               0 :         if ($nameLength > 10) {                                                                                                                                                                                                          
     886               0 :             return "Name ist zu lang";                                                                                                                                                                                                   
     887                 :         }                                                                                                                                                                                                                                
     888                 :         // alphabetische Grossbuchstaben setzen. (A..Z)                                                                                                                                                                                  
     889               0 :         for ($i = 65 ; $i <= 90 ; $i++) {                                                                                                                                                                                                
     890               0 :             $validChars[] = chr($i);                                                                                                                                                                                                     
     891               0 :         }                                                                                                                                                                                                                                
     892                 :         // alphabetische Kleinbuchstaben setzen. (a..z)                                                                                                                                                                                  
     893               0 :         for ($i = 97 ; $i <= 122 ; $i++) {                                                                                                                                                                                               
     894               0 :             $validChars[] = chr($i);                                                                                                                                                                                                     
     895               0 :         }                                                                                                                                                                                                                                
     896                 :         // Zahlen setzen. (0..9)                                                                                                                                                                                                         
     897               0 :         for ($i = 48 ; $i <= 57 ; $i++) {                                                                                                                                                                                                
     898               0 :             $validChars[] = chr($i);                                                                                                                                                                                                     
     899               0 :         }                                                                                                                                                                                                                                
     900                 :         // Auswahl an Sonderzeichen erlauben...                                                                                                                                                                                          
     901               0 :         $validChars[] = ' ';                                                                                                                                                                                                             
     902               0 :         $validChars[] = '/';                                                                                                                                                                                                             
     903               0 :         $validChars[] = 'ß';                                                                                                                                                                                                            
     904               0 :         $validChars[] = 'Ä';                                                                                                                                                                                                            
     905               0 :         $validChars[] = 'Ö';                                                                                                                                                                                                            
     906               0 :         $validChars[] = 'Ü';                                                                                                                                                                                                            
     907               0 :         $validChars[] = 'ä';                                                                                                                                                                                                            
     908               0 :         $validChars[] = 'ö';                                                                                                                                                                                                            
     909               0 :         $validChars[] = 'ü';                                                                                                                                                                                                            
     910               0 :         $validChars[] = '-';                                                                                                                                                                                                             
     911               0 :         $validChars[] = '+';                                                                                                                                                                                                             
     912               0 :         $validChars[] = '#';                                                                                                                                                                                                             
     913               0 :         $validChars[] = '(';                                                                                                                                                                                                             
     914               0 :         $validChars[] = ')';                                                                                                                                                                                                             
     915               0 :         reset($validChars);                                                                                                                                                                                                              
     916                 :         // Jedes Zeichen in $shortname auf Vorhandensein in $validChars pruefen.                                                                                                                                                         
     917               0 :         for ($i = 0 ; $i < $nameLength ; $i++) {                                                                                                                                                                                         
     918               0 :             if (!in_array(substr($shortname, $i, 1), $validChars)) {                                                                                                                                                                     
     919               0 :                 return "Sonderzeichen verwendet";                                                                                                                                                                                        
     920                 :             }                                                                                                                                                                                                                            
     921               0 :         }                                                                                                                                                                                                                                
     922                 :         // Kurzname O.K.                                                                                                                                                                                                                 
     923               0 :         return "";                                                                                                                                                                                                                       
     924                 :     }                                                                                                                                                                                                                                    
     925                 :     /**                                                                                                                                                                                                                                  
     926                 :      * Ueberprueft die Stichwörter auf gueltige Zeichen.                                                                                                                                                                                
     927                 :      *                                                                                                                                                                                                                                   
     928                 :      * @static                                                                                                                                                                                                                           
     929                 :      * @access  public                                                                                                                                                                                                                   
     930                 :      *                                                                                                                                                                                                                                   
     931                 :      * @param   string  $keywords    - Stichwörter, der geprueft werden soll.                                                                                                                                                           
     932                 :      *                                                                                                                                                                                                                                   
     933                 :      * @return  string  ""            - falls Stichwörter gueltig.                                                                                                                                                                      
     934                 :      *                  $errorMessage - falls ungültig.                                                                                                                                                                                 
     935                 :      */                                                                                                                                                                                                                                  
     936                 :     function validateKeywords($keywords) {                                                                                                                                                                                               
     937               0 :         if (!(strlen($keywords) < 255)) return 'Stichwörter zu lang';                                                                                                                                                                   
     938               0 :     }                                                                                                                                                                                                                                    
     939                 :     /**                                                                                                                                                                                                                                  
     940                 :      * Formatiert einen aus einem Formular uebernommenen Veranst.-Namen.                                                                                                                                                                 
     941                 :      *                                                                                                                                                                                                                                   
     942                 :      * @static                                                                                                                                                                                                                           
     943                 :      * @access  private                                                                                                                                                                                                                  
     944                 :      *                                                                                                                                                                                                                                   
     945                 :      * @param   string $coursename - Veranstaltungsname, der formatiert werden soll.                                                                                                                                                     
     946                 :      *                               Der Name muss zuvor mit der Methode                                                                                                                                                                 
     947                 :      *                               CourseSettings::checkCoursename($coursename)                                                                                                                                                        
     948                 :      *                               erfolgreich ueberprueft worden sein.                                                                                                                                                                
     949                 :      *                                                                                                                                                                                                                                   
     950                 :      * @return  string $coursename - formatierter Veranstaltungsname.                                                                                                                                                                    
     951                 :      */                                                                                                                                                                                                                                  
     952                 :     function formatName($name) {                                                                                                                                                                                                         
     953               0 :         return trim($name);                                                                                                                                                                                                              
     954                 :     }                                                                                                                                                                                                                                    
     955                 :     /**                                                                                                                                                                                                                                  
     956                 :      * Ueberprueft einen Veranstaltungspasswort auf gueltige Zeichen.                                                                                                                                                                    
     957                 :      *                                                                                                                                                                                                                                   
     958                 :      * @static                                                                                                                                                                                                                           
     959                 :      * @access  public                                                                                                                                                                                                                   
     960                 :      *                                                                                                                                                                                                                                   
     961                 :      * @param   string  $pass         - Veranstaltungspasswort, das geprueft werden soll.                                                                                                                                                
     962                 :      *                                                                                                                                                                                                                                   
     963                 :      * @return  string  ""            - falls Passwort gueltig.                                                                                                                                                                          
     964                 :      *                  $errorMessage - falls ungueltige Zeichen in Passwort enthalten.                                                                                                                                                  
     965                 :      */                                                                                                                                                                                                                                  
     966                 :     function validateRegistrationPassword($pass) {                                                                                                                                                                                       
     967               0 :         $retval = Passwords::checkPasswordAdvanced($pass, true);                                                                                                                                                                         
     968               0 :         if ($retval === PASSWORD_OK) return "";                                                                                                                                                                                          
     969               0 :         else return $retval;                                                                                                                                                                                                             
     970                 :     }                                                                                                                                                                                                                                    
     971                 :     /**                                                                                                                                                                                                                                  
     972                 :      * Ueberprueft eine Veranstaltungsinformation auf gueltige Zeichen.                                                                                                                                                                  
     973                 :      * Gueltige Zeichen sind alle alphabetischen Gross-und Kleinbuchstaben                                                                                                                                                               
     974                 :      * und alle Zahlen, Zeilenumbrueche, sowie die folgenden Sonderzeichen :                                                                                                                                                             
     975                 :      * ' ','/','Ä','Ö','Ü','ä','ö','ü','-','+','#','(',')',',','.',':','!',';','[',']','{','}','=','*'.                                                                                                                            
     976                 :      *                                                                                                                                                                                                                                   
     977                 :      * @static                                                                                                                                                                                                                           
     978                 :      * @access  public                                                                                                                                                                                                                   
     979                 :      *                                                                                                                                                                                                                                   
     980                 :      * @param   string  $pass         - Veranstaltungsinformation, die geprueft werden soll.                                                                                                                                             
     981                 :      *                                                                                                                                                                                                                                   
     982                 :      * @return  string  ""            - falls Information gueltig.                                                                                                                                                                       
     983                 :      *                  $errorMessage - falls ungueltige Zeichen in Information enthalten.                                                                                                                                               
     984                 :      */                                                                                                                                                                                                                                  
     985                 :     function validateInfo($info) {                                                                                                                                                                                                       
     986               0 :         $infoLength = strlen($info); // Anzahl der Zeichen von $info.                                                                                                                                                                    
     987               0 :         $validChars = array(); // Sub-Strings, die eine Veranstaltungsinfo enthalten darf.                                                                                                                                               
     988                 :         // alphabetische Grossbuchstaben setzen. (A..Z)                                                                                                                                                                                  
     989               0 :         for ($i = 65 ; $i <= 90 ; $i++) {                                                                                                                                                                                                
     990               0 :             $validChars[] = chr($i);                                                                                                                                                                                                     
     991               0 :         }                                                                                                                                                                                                                                
     992                 :         // alphabetische Kleinbuchstaben setzen. (a..z)                                                                                                                                                                                  
     993               0 :         for ($i = 97 ; $i <= 122 ; $i++) {                                                                                                                                                                                               
     994               0 :             $validChars[] = chr($i);                                                                                                                                                                                                     
     995               0 :         }                                                                                                                                                                                                                                
     996                 :         // Zahlen setzen. (0..9)                                                                                                                                                                                                         
     997               0 :         for ($i = 48 ; $i <= 57 ; $i++) {                                                                                                                                                                                                
     998               0 :             $validChars[] = chr($i);                                                                                                                                                                                                     
     999               0 :         }                                                                                                                                                                                                                                
    1000                 :         // Auswahl an Sonderzeichen erlauben...                                                                                                                                                                                          
    1001               0 :         $validChars[] = ' ';                                                                                                                                                                                                             
    1002               0 :         $validChars[] = chr(13);                                                                                                                                                                                                         
    1003               0 :         $validChars[] = chr(10);                                                                                                                                                                                                         
    1004               0 :         $validChars[] = '/';                                                                                                                                                                                                             
    1005               0 :         $validChars[] = 'Ä';                                                                                                                                                                                                            
    1006               0 :         $validChars[] = 'Ö';                                                                                                                                                                                                            
    1007               0 :         $validChars[] = 'Ü';                                                                                                                                                                                                            
    1008               0 :         $validChars[] = 'ä';                                                                                                                                                                                                            
    1009               0 :         $validChars[] = 'ö';                                                                                                                                                                                                            
    1010               0 :         $validChars[] = 'ü';                                                                                                                                                                                                            
    1011               0 :         $validChars[] = '-';                                                                                                                                                                                                             
    1012               0 :         $validChars[] = '+';                                                                                                                                                                                                             
    1013               0 :         $validChars[] = '#';                                                                                                                                                                                                             
    1014               0 :         $validChars[] = '(';                                                                                                                                                                                                             
    1015               0 :         $validChars[] = ')';                                                                                                                                                                                                             
    1016               0 :         $validChars[] = ',';                                                                                                                                                                                                             
    1017               0 :         $validChars[] = '.';                                                                                                                                                                                                             
    1018               0 :         $validChars[] = ':';                                                                                                                                                                                                             
    1019               0 :         $validChars[] = '!';                                                                                                                                                                                                             
    1020               0 :         $validChars[] = ';';                                                                                                                                                                                                             
    1021               0 :         $validChars[] = '[';                                                                                                                                                                                                             
    1022               0 :         $validChars[] = ']';                                                                                                                                                                                                             
    1023               0 :         $validChars[] = '{';                                                                                                                                                                                                             
    1024               0 :         $validChars[] = '}';                                                                                                                                                                                                             
    1025               0 :         $validChars[] = '=';                                                                                                                                                                                                             
    1026               0 :         $validChars[] = '*';                                                                                                                                                                                                             
    1027               0 :         reset($validChars);                                                                                                                                                                                                              
    1028               0 :         $info = nl2br($info);                                                                                                                                                                                                            
    1029               0 :         $infoNoTags = strip_tags($info);                                                                                                                                                                                                 
    1030               0 :         $infoNoTagsLength = strlen($infoNoTags);                                                                                                                                                                                         
    1031                 :         // Jedes Zeichen in $info auf Vorhandensein in $validChars pruefen.                                                                                                                                                              
    1032               0 :         for ($i = 0 ; $i < $infoNoTagsLength ; $i++) {                                                                                                                                                                                   
    1033               0 :             if (!in_array(substr($infoNoTags, $i, 1), $validChars)) {                                                                                                                                                                    
    1034               0 :                 return "Sonderzeichen verwendet<br /><pre>".$infoNoTags."</pre>";                                                                                                                                                        
    1035                 :             }                                                                                                                                                                                                                            
    1036               0 :         }                                                                                                                                                                                                                                
    1037                 :         // Veranstaltungsinfo O.K.                                                                                                                                                                                                       
    1038               0 :         return "";                                                                                                                                                                                                                       
    1039                 :     }                                                                                                                                                                                                                                    
    1040                 :     /**                                                                                                                                                                                                                                  
    1041                 :      * Formatiert eine aus einem Formular uebernommene Veranst.-Information.                                                                                                                                                             
    1042                 :      *                                                                                                                                                                                                                                   
    1043                 :      * @static                                                                                                                                                                                                                           
    1044                 :      * @access  private                                                                                                                                                                                                                  
    1045                 :      *                                                                                                                                                                                                                                   
    1046                 :      * @param   string $info - Veranstaltungsinformation, die formatiert werden soll.                                                                                                                                                    
    1047                 :      *                         Die Information muss zuvor mit der Methode                                                                                                                                                                
    1048                 :      *                         CourseSettings::checkCourseInfo($info)                                                                                                                                                                    
    1049                 :      *                         erfolgreich ueberprueft worden sein.                                                                                                                                                                      
    1050                 :      *                                                                                                                                                                                                                                   
    1051                 :      * @return  string $info - formatierte Veranstaltungsinformation.                                                                                                                                                                    
    1052                 :      */                                                                                                                                                                                                                                  
    1053                 :     function formatInfo($info) {                                                                                                                                                                                                         
    1054               0 :         $info = strip_tags($info);                                                                                                                                                                                                       
    1055               0 :         $info = Data::toHTML($info, false);                                                                                                                                                                                              
    1056               0 :         $info = nl2br($info);                                                                                                                                                                                                            
    1057               0 :         return $info;                                                                                                                                                                                                                    
    1058                 :     }                                                                                                                                                                                                                                    
    1059                 :     function validateMaxStudents($maxStudents) {                                                                                                                                                                                         
    1060               0 :         if (strval(intval($maxStudents)) != $maxStudents) {                                                                                                                                                                              
    1061               0 :             return "keine Zahl eingegeben";                                                                                                                                                                                              
    1062                 :         }                                                                                                                                                                                                                                
    1063               0 :         if ($maxStudents < 0) {                                                                                                                                                                                                          
    1064               0 :             return "Wert ist zu klein";                                                                                                                                                                                                  
    1065                 :         }                                                                                                                                                                                                                                
    1066               0 :         return "";                                                                                                                                                                                                                       
    1067                 :     }                                                                                                                                                                                                                                    
    1068                 :     /**                                                                                                                                                                                                                                  
    1069                 :      * Ueberprueft einen eStudy Style-Namen.                                                                                                                                                                                             
    1070                 :      *                                                                                                                                                                                                                                   
    1071                 :      * @static                                                                                                                                                                                                                           
    1072                 :      * @access  public                                                                                                                                                                                                                   
    1073                 :      * @param   string  $style        - Der zu prüfende Style-Name                                                                                                                                                                      
    1074                 :      * @return  string  ""            - falls der Name gueltig ist                                                                                                                                                                       
    1075                 :      *                  $errorMessage - falls der Name ungueltig ist.                                                                                                                                                                    
    1076                 :      */                                                                                                                                                                                                                                  
    1077                 :     function validateStyle($style) {                                                                                                                                                                                                     
    1078               0 :         if ($style == '') return "";                                                                                                                                                                                                     
    1079               0 :         $styles = Style::getStyleTemplates();                                                                                                                                                                                            
    1080               0 :         foreach($styles as $styleInfo) {                                                                                                                                                                                                 
    1081               0 :             if ($styleInfo[0] == $style) {                                                                                                                                                                                               
    1082               0 :                 return "";                                                                                                                                                                                                               
    1083                 :             }                                                                                                                                                                                                                            
    1084               0 :         }                                                                                                                                                                                                                                
    1085               0 :         return "Style nicht vorhanden!";                                                                                                                                                                                                 
    1086                 :     }                                                                                                                                                                                                                                    
    1087                 :     /**                                                                                                                                                                                                                                  
    1088                 :      * Gibt einen Dialog fuer die Veranstaltungseinstellungen aus.                                                                                                                                                                       
    1089                 :      * Verwendet hierzu die Klasse 'SettingsDialog'.                                                                                                                                                                                     
    1090                 :      *                                                                                                                                                                                                                                   
    1091                 :      * @access protected                                                                                                                                                                                                                 
    1092                 :      * @static                                                                                                                                                                                                                           
    1093                 :      *                                                                                                                                                                                                                                   
    1094                 :      * @param   void                                                                                                                                                                                                                     
    1095                 :      * @return  void                                                                                                                                                                                                                     
    1096                 :      */                                                                                                                                                                                                                                  
    1097                 :     function echoSettingsDialog() {                                                                                                                                                                                                      
    1098               0 :         new SettingsDialog($this);                                                                                                                                                                                                       
    1099               0 :     }                                                                                                                                                                                                                                    
    1100                 : }                                                                                                                                                                                                                                        

Generated by PHPUnit 3.2.21 and Xdebug 2.0.4 at Sat Nov 7 22:04:08 CET 2009.